home *** CD-ROM | disk | FTP | other *** search
- // this function verifies disk space in kilobytes
- function verifyDiskSpace(dirPath, spaceRequired)
- {
- var spaceAvailable;
-
- // Get the available disk space on the given path
- spaceAvailable = fileGetDiskSpaceAvailable(dirPath);
-
- // Convert the available disk space into kilobytes
- spaceAvailable = parseInt(spaceAvailable / 1024);
-
- // do the verification
- if(spaceAvailable < spaceRequired)
- {
- logComment("Insufficient disk space: " + dirPath);
- logComment(" required : " + spaceRequired + " K");
- logComment(" available: " + spaceAvailable + " K");
- return(false);
- }
-
- return(true);
- }
-
- // this function deletes a file if it exists
- function deleteThisFile(dirKey, file)
- {
- var fFileToDelete;
-
- fFileToDelete = getFolder(dirKey, file);
- logComment("File to delete: " + fFileToDelete);
- if(File.isFile(fFileToDelete))
- {
- File.remove(fFileToDelete);
- return(true);
- }
- else
- return(false);
- }
-
- // this function deletes a folder if it exists
- function deleteThisFolder(dirKey, folder, recursiveDelete)
- {
- var fToDelete;
-
- if(typeof recursiveDelete == "undefined")
- recursiveDelete = true;
-
- fToDelete = getFolder(dirKey, folder);
- logComment("Folder to delete: " + fToDelete);
- if(File.isDirectory(fToDelete))
- {
- File.dirRemove(fToDelete, recursiveDelete);
- return(true);
- }
- else
- return(false);
- }
-
- // OS type detection
- // which platform?
- function getPlatform()
- {
- var platformStr;
- var platformNode;
-
- if('platform' in Install)
- {
- platformStr = new String(Install.platform);
-
- if (!platformStr.search(/^Macintosh/))
- platformNode = 'mac';
- else if (!platformStr.search(/^Win/))
- platformNode = 'win';
- else
- platformNode = 'unix';
- }
- else
- {
- var fOSMac = getFolder("Mac System");
- var fOSWin = getFolder("Win System");
-
- logComment("fOSMac: " + fOSMac);
- logComment("fOSWin: " + fOSWin);
-
- if(fOSMac != null)
- platformNode = 'mac';
- else if(fOSWin != null)
- platformNode = 'win';
- else
- platformNode = 'unix';
- }
-
- return platformNode;
- }
-
-
- var srDest = 92;
-
- var err;
- var fProgram;
-
- // --- LOCALIZATION NOTE: translate only these ---
- var prettyName = "US Region Pack";
- var chromeNode = "US";
- // --- END LOCALIZABLE RESOURCES ---
- var regName = "locales/netscape/" + chromeNode;
- var chromeName = chromeNode + ".jar";
- var localeName = "locale/" + chromeNode + "/";
-
- err = initInstall(prettyName, regName, "7.0.2.2003020805");
- logComment("initInstall: " + err);
-
- fProgram = getFolder("Program");
- logComment("fProgram: " + fProgram);
-
- if (verifyDiskSpace(fProgram, srDest))
- {
- var chromeType = LOCALE;
- err = addDirectory("",
- "viewer",
- fProgram,
- "");
- logComment("addDirectory() returned: " + err);
-
- if (err != SUCCESS)
- {
- logComment("addDirectory() to " + fProgram + "failed!");
- // couldn't install globally, try installing to the profile
- resetError();
- chromeType |= PROFILE_CHROME;
- fProgram = getFolder("Profile");
- logComment("try installing to the profile: " + fProgram);
- err = addDirectory("","viewer/chrome",fProgram,"chrome");
- }
-
- setPackageFolder(fProgram);
-
- if (err == SUCCESS)
- {
- // register chrome
- var cf = getFolder(fProgram, "chrome/"+ chromeName);
- registerChrome(chromeType, cf, localeName + "aim-region/");
- registerChrome(chromeType, cf, localeName + "global-region/");
- registerChrome(chromeType, cf, localeName + "communicator-region/");
- registerChrome(chromeType, cf, localeName + "editor-region/");
- registerChrome(chromeType, cf, localeName + "messenger-region/");
- registerChrome(chromeType, cf, localeName + "navigator-region/");
-
- err = performInstall();
- logComment("performInstall() returned: " + err);
- }
- else
- {
- cancelInstall(err);
- logComment("cancelInstall due to error: " + err);
- }
- }
- else
- cancelInstall(INSUFFICIENT_DISK_SPACE);
-